
//获取应用实例(获取app.js全局变量必须获取应用实例)
const App = getApp()


//条码、二维码生成
const wxbarcode = require("../../../../lib/wxbarcode/index.js")
//网络请求封装 
import Request_post from "../../../../request/Request_post"
import Request_get from "../../../../request/Request_get"

//系统设置项目:(请求地址-在封装中已经引入，这里不需要;   api调用的Appid-partner_app_id;   渠道ID-as_appid)
import config from '../../../../config/config'; 

// 缓存rul图片到本地
import cacheimg from "../../../../utils/cacheImg"

//引入时间函数
var date = require("../../../../utils/CustomFunction/getDayFirstNowLast.js")
var time = require("../../../../utils/CustomFunction/getNowTime.js")

Page({
 
  /**
   * 页面的初始数据
   */
  data: {

    // Vant: tabbar(当前选中标签的索引,本页面索引 == 0)
    active: 0,

    // 更多缓存车牌的弹窗显示，默认关闭
    MorePln_show: false,

    // 虚拟键盘开启状态，默认关闭
    KeyboardState: false,

    pageImage: 
    [ 
      {key: "Title_Image",value: config.imageUrl+"title_parkpayment.jpg"},
      {key: "logo_Rectangle",value: config.imageUrl+"logo_Rectangle.png"},
      {key: "deleteAll",value: config.imageUrl+"deleteAll.png"},
      {key: "delete",value: config.imageUrl+"delete.png"},
    ],

    
    // 省份简写
    provinces: [
      ['京', '沪', '粤', '津', '冀', '晋', '蒙', '辽', '吉', '黑'],
      ['苏', '浙', '皖', '闽', '赣', '鲁', '豫', '鄂', '湘'],
      ['桂', '琼', '渝', '川', '贵', '云', '藏'],
      ['陕', '甘', '青', '宁', '新'],
    ],
    // 车牌输入
    numbers: [
      ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
      ["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"],
      ["A", "S", "D", "F", "G", "H", "J", "K", "L"],
      ["Z", "X", "C", "V", "B", "N", "M","学"]
    ],
    carnum: [],
    showNewPower: false,
    KeyboardState: false,

    // 车牌录入是否显示（默认：不显示，点击录入其他车牌后-显示，或 没有历史车牌缓存-显示，否则默认不显示）
    inputCarNumber: "n",
  },

  /** 外链图片Url资源，缓存到本地 */
  storeImage:function(){
    var that = this
    let obj = {}
    let pageimgArr = that.data.pageImage
    // 图片外链url：ip:端口 替换成 域名（外链资源不做域名转换了，而是外链资源原始链接必须就是域名url）
    // pageimgArr.forEach(i => {i.value = config.domainName + i.value.split('/').slice(3).join('/')})
    // 调用本地文件缓存方法 mapCacheUrl
    pageimgArr = pageimgArr.map(i => ({
      ...i,imgpath:cacheimg.mapCacheUrl(i.value)
    }))  
    // 数组转换为对象
    pageimgArr.forEach(i => {obj[i.key] = i.imgpath})
    that.setData({pageStoreimg: obj })
    // console.log(that.data.pageStoreimg)
  },



  // tabbar 选中事件 (本页面的：active == 0)
  onChange(event) {
    console.log( event.detail )
    this.setData({ active: event.detail });
    if(this.data.active == 1){

      if(App.globalData.miniProgram_appid == 'wx8b1a6f908925e4c4'){   //和谐广场小程序：wx8b1a6f908925e4c4 跳转到 云智停车 小程序
        wx.navigateToMiniProgram({
          appId: 'wx629863dda52fb520',
          path: '/pagesIndex/invoice/invoice',
          success(res) {
            console.log(res)
          }
        })
      }else{
        wx.navigateTo({
          url:"/SubpkgParkingPay/pages/ParkingPublic/pkvfeequeryList/pkvfeequeryList"
        })
      }
    }
    else if(this.data.active == 2){
      // tabbar的停车缴费：昭通金池要求直接路由到免费领取页面
      if(App.globalData.miniProgram_appid == 'wx2e4f358a20d4a419'){
        wx.navigateTo({
          url:"/SubpkgMarketing/pages/Coupon/IssueCopList/IssueCopList?echmodid="+"02"+'&index=1',
        })
      }else{
        wx.navigateTo({
          url:"/SubpkgMarketing/pages/Coupon/CopCenter/CopCenter?fromPkvPage=true",
        })
      }
    }
    else if(this.data.active == 3){
      if(App.globalData.miniProgram_appid == 'wx2e4f358a20d4a419'){   //昭通金池小程序：wx2e4f358a20d4a419 跳转到 西苑汇 小程序
        wx.navigateToMiniProgram({
          appId: 'wx54b2f86f6aecfdff',
          path: '/pages/home/dashboard/index',
          success(res) {
            console.log(res)
          }
        })
      }else{
        wx.redirectTo({
          url:App.globalData.homePage,
        })
      }

		}

  },

 

  // 车牌选中点击设置
  bindChoose(e) {
    if (!this.data.carnum[6] || this.data.showNewPower) {
      var arr = [];
      arr[0] = e.target.dataset.val;
      this.data.carnum = this.data.carnum.concat(arr)
      this.setData({
        carnum: this.data.carnum
      })
    }
    
    if(this.data.carnum[6] && this.data.showNewPower == false){         //常规车牌录入：未点击[新能源]
      this.setData({
        showNewPower: false, 
        KeyboardState: true
      })
    }else if(this.data.carnum[6] && this.data.showNewPower == true){    //新能源车牌录入：已点击[新能源]
      this.setData({
        showNewPower: true, 
        KeyboardState: true
      })
    }

  },
  bindDelChoose() {
    if (this.data.carnum.length != 0) {
      this.data.carnum.splice(this.data.carnum.length - 1, 1);
      this.setData({
        carnum: this.data.carnum
      })
    }
    
  },
  showPowerBtn() {
    this.setData({
      showNewPower: true,
      KeyboardState: true
    })
  },
  closeKeyboard() {
    this.setData({
			KeyboardState: false,

    })
  },
  openKeyboard() {
    this.setData({
			KeyboardState: true,

    })
  },
  //其他省份
  otherProvince(){
    this.setData({
      carnum:[],
      Store_input:[],
    })
    
  },
  //清空按钮
  deleteAll(){
    this.setData({
      carnum:[],
      Store_input:[],
    })
  }, 


  // 显示更多车牌弹窗
  MorePln:function(){
    this.setData({MorePln_show: true})
  },
  // 关闭显示更多车牌弹窗
  MorePln_Close:function(){
    this.setData({MorePln_show: false})
  },

  // 查缴停车费按钮（提交车牌号码）
  submitNumber() {

    var pkvContext = App.globalData.pkvContext
    var pkvApi = config.pkvApi
    
    if(!pkvContext || !pkvApi){
      wx.showModal({
        title: '抱歉',
        content: '暂未与停车场系统进行数据对接',
        showCancel: false,		//是否显示取消按钮
        cancelText:"否",			//默认是“取消”
        cancelColor:'skyblue',		//取消文字的颜色
        confirmText:"确认",		//默认是“确定”
        confirmColor: 'skyblue',	//确定文字的颜色
        success: function (res) { },
        fail: function (res) { },		//接口调用失败的回调函数
        complete: function (res) { },	//接口调用结束的回调函数（调用成功、失败都会执行）
     })
    }else{
      if(this.data.carnum.length<7 ){
        wx.showToast({
          title: '请输入完整的车牌!',
          icon:'none',
          duration: 2000,
        })
      }
      if (this.data.carnum[6] || this.data.carnum[7]) {
        var carno=this.data.carnum;
        var carnonew=carno.join(''); //json数组转为字符串
        // console.log(this.data.carnum);
        // console.log(carnonew);
        
  
        /* ------------------------ 车牌存入缓存 ----------------------------- */
        // 先获取缓存中的内容
        let NumpltArray = wx.getStorageSync('Numpltid') || []
        // Mark：临时标记：遍历原缓存数组后，如果有数据 等于本次录入的车牌，则更改此标记为true 当此标记为true时，则不做缓存数据追加
        var Mark = false 
        for(var i = 0; i < NumpltArray.length; i++){
          if(NumpltArray[i].Numpltid == carnonew ){
            Mark = true 
            // console.log('缓存的车牌：'+NumpltArray[i].Numpltid+'   '+'本次输入的车牌：'+carnonew+"   "+'本次新增车牌缓存中已有记录，不计入缓存')
          }
        }
        //根据Mark标记的值 判断是否向原缓存中增加数据 true-不增加  false-增加
        if(Mark == false){
          // 向获取到的车牌数组中追加新的车牌(数组首位添加)
          NumpltArray.unshift({
            Numpltid: carnonew,
          })
          
          // 重新设置缓存
          wx.setStorageSync('Numpltid',NumpltArray)
        }

        // 路由跳转到缴费页面
        wx.showToast({
          title: '输入车辆牌照：['+carnonew+'] 成功！',
          icon:'none',
          duration: 2000,
          success:(
            wx.navigateTo({
              url: "/SubpkgParkingPay/pages/ParkingPayment/"+App.globalData.pkvContext+"/ParkingFeePayment/ParkingFeePayment?numberPlate="+carnonew+'&copid='+this.data.copid,
            })
          )
        })
  

      }
    }
  },


  /**
   * 点击缓存车牌填入 && 同时查询此车牌
   */
  Store_input:function(e){
    //获取缓存的车牌号
    let numberPlate = e.currentTarget.dataset.numpltid
    // console.log(numberPlate)
    //定义Store_input数组
    let Store_input = []
    //将字符串转数组
    for(var n = 0; n < numberPlate.length; n++){
      Store_input.push(numberPlate[n])
    }
    this.setData({
      Store_input:Store_input,
      carnum:Store_input
    })
    this.MorePln_Close();   // 关闭弹窗

    this.submitNumber();    // 同时查询此车牌费用

    
  },

  backToHomepage:function(){
    wx.redirectTo({
      url: App.globalData.homePage,
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    if(options.copid){
      this.setData({
        copid: options.copid
      })
    }
    // 虚拟键盘默认是否打开：false-关闭；true-打开
    this.setData({KeyboardState: false})
    
    // 外链资源图片链接 本地缓存
    if(App.globalData.ResourcesLink_Locstr === 'y'){
      this.storeImage();
    // 外链资源图片链接 直接读取url地址
    }else{
      let pageimgArr = this.data.pageImage
      let object = {}
      pageimgArr.forEach(i => {object[i.key] = i.value}) // 数组转换为对象
      this.setData({pageStoreimg: object })
      // console.log(that.data.pageStoreimg)
		}
    this.setData({
      carnum:['云'],
    })
    // console.log(NumpltArray)

    // 会员是否注册的标志regflg
    getApp().loginPromise.then(v => {	//app.js的Promise成功回调（全局变量赋值成功后才执行请求）
			this.setData({regflg: App.globalData.regflg})
      // console.log(App.globalData.regflg)
		})
		
		var NumpltQuickInput = wx.getStorageSync('StrMktopt').NumpltQuickInput
		if(!NumpltQuickInput){
			this.setData({ NumpltQuickInput: n})
		}else{
			this.setData({ NumpltQuickInput})
		}


    // 昭通金池定制跳转
    if(App.globalData.miniProgram_appid == 'wx2e4f358a20d4a419'){   //昭通金池小程序：wx2e4f358a20d4a419
      this.setData({tabbartext:'西苑汇'})
    }else{
      this.setData({tabbartext:'返回首页'})
		}

  },


  //未注册会员点击注册
  regNow:function(){
    wx.redirectTo({ 
      url:"/SubpkgPublicPage/pages/PublicPage/PrivacyPolicy/PolicyMain/PolicyMain"
    });
	},
	



  /** 删除所有缓存车牌记录:所有车牌 */
  delStoreNumberPlateALL:function(){
    wx.removeStorageSync('Numpltid')
    let NumpltArray = wx.getStorageSync('Numpltid') 
    this.setData({
      NumpltArray
    })
    // console.log(NumpltArray)
  },




  /** 删除缓存车牌记录:某一车牌 */
  delStoreNumberPlate:function(e){
    // 获取数组的下标
    let index = e.currentTarget.dataset.index
    // console.log(index)
    // 获取目前缓存中的内容
    let NumpltArray = wx.getStorageSync('Numpltid') 
    // 设置一个新的数组 newArray
    let newArray = []
    for (var i = 0; i < NumpltArray.length; i++) {
      if (i != index) {
        newArray.push(NumpltArray[i])
      }
    }
    // 重新写入缓存(异步)
    // wx.setStorage({
    //   key: 'Numpltid',
    //   data: newArray,
    //   success: function (res) {
    //     this.setData({
    //       NumpltArray:wx.getStorageSync('Numpltid')
    //     })
    //   }
    // })
    // 重新写入缓存(同步)
    wx.setStorageSync('Numpltid',newArray)

    //提取缓存设置变量
    this.setData({
      NumpltArray:wx.getStorageSync('Numpltid')
    })
  },

  /** 为其他车辆缴费 */
  inputOtherCarNumpln:function(){
    this.setData({inputCarNumber: "y"})
  },
 
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
 
  },
 
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    var that = this
    // var NumpltArray = wx.getStorageSync('Numpltid') 
    // this.setData({
    //   NumpltArray
    // })

    var NumpltArray =  wx.getStorageSync('Numpltid') 

    if(NumpltArray && NumpltArray.length > 0 ){
      console.log("true")
      that.setData({
        NumpltArray,
        inputCarNumber: "n",
      })
    }else{
      console.log("false")
      that.setData({
        NumpltArray,
        inputCarNumber: "y",
      })
    }

    // 回到本页面，将tabbar的图标置位“停车缴费”
    that.setData({ active: 0 });
   
  },
 
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
 
  },
 
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
 
  },
 
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
 
  },
 
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
 
  },
 
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
 
  }
})


